Smartyの基本的な使い方を知ろう

公開日:2017/02/10  最終更新日:2018/09/01  カテゴリー:未分類

ここでは テンプレートの呼び出し方・変数の表示の仕方など 本当に初歩的なことを解説します。
この記事は Smarty の設置が完了していることを前提としております。
未だの方は こちらの記事 を参考に設置まで完了してください。

ファイル構成について

Smarty の最大の特徴は デザイン部分とシステム部分が分離されているために デザインとシステムを記述する部分が分かれていることだと思います。
ですから サイトのデザインを含む テンプレートファイルは template フォルダに入れておきます。
直接アクセスされる ところに システムファイルをおいておいて 表示する段階で テンプレートファイルを呼び出す形になります。
他にも 設定ファイルを入れておく configs フォルダなどありますが、 取り敢えず 今はおいて置いて 使うときに覚えればいいと思います。

実際に変数を使って Smarty を動かしてみよう

取り敢えずファイルを作って動かそう

smarty/variable.php
<?php

# Smarty を読み込み 利用する
require_once(__Dir__."/libs/Smarty.class.php");
$smarty = new Smarty();

# 各種フォルダの場所を 指定する
$smarty->template_dir = __Dir__."/templates/";
$smarty->compile_dir  = __Dir__."/templates_c/";
$smarty->config_dir   = __Dir__."/configs/";
$smarty->cache_dir    = __Dir__."/cache/";

# 変数に値を代入する
$smarty->assign("name","総合サービス.com");

# テンプレートを呼び出して出力
$smarty->display("variable.tpl");

?>
smarty/templates/variable.tpl
<html>
	<head>
		<meta charset="utf-8">
	</head>
	<body>
		$name の値は {$name} です。
	</body>
</html>

http://example.com/smarty/variable.php にアクセスしてみてください。
{$name} が 置換されているのを確認できると思います。

ちょっとだけ解説

サンプルを動かせば 大体の使い方は分かったと思いますが、念のため 解説しておきます。

重要 変数の使い方
●変数に値を代入する PHP

$smarty->assign("変数名","");

●変数の値を出力する テンプレートファイル

{$変数名}

補足 PHP側で $name = "総合サービス.com"; のように宣言された変数は テンプレートファイル側で呼び出せないので assign を使用します。
重要 テンプレートの呼び出し方 テンプレートファイル

$smarty->display("テンプレートファイル名");

参考文献

本サイトでは URLに日本語を含んでいます。
メールなどで共有する場合は リンクとして認識されない場合がございますので、こちらをご利用ください。